Inter symbol interference (ISI) resulting from a communications channel can greatly reduce an eye opening at an input of a receiver. A decision feedback equalizer (DFE) can be used to reduce ISI. However, reflections in the communications channel can cause ISI in a wide range of symbols. To reduce ISI in the wide range of symbols, a DFE with a large number of taps is used. The DFE with a large number of taps consumes a lot of power and area.
Reflections occur in only a few symbols of the wide range of symbols. A floating tap DFE assigns taps only to where the reflections occur. By doing so, the number of DFE taps can be significantly reduced. However, the locations of reflections can vary with channel. Even for the same channel, the reflections can change, for example, with temperature. Finding the floating tap positions for a floating tap DFE is a significant problem.
Conventional methods for finding the floating tap positions include: 1) setting the floating tap positions manually; 2) measuring a pulse response of a channel using an instrument offline and setting the floating tap positions manually based on the measured pulse response; 3) using a training sequence to estimate the pulse response of the channel and selecting the floating tap positions based on the estimated channel pulse response; 4) selecting the floating tap positions based on tap signal-to-noise ratio (SNR) or channel impulse coefficients.
The conventional methods have a number of disadvantages. There can be many channels (200+) in backplane applications. Each of the channels can have different reflection locations. Many channels with different reflection locations makes manually setting the floating tap positions impractical. Using a training sequence adds a large overhead in a Gigabit per second (Gbps) serializer/deserializer (SerDes). The training sequence interrupts normal data traffic. The training sequence can only determine the floating tap positions during initialization. If the reflection locations change due to temperature or for some other reason, the conventional methods cannot update the floating tap positions unless the data traffic is interrupted and the training sequence is inserted again. The disadvantage of basing the floating tap positions on the tap SNR or channel impulse coefficients is that the tap SNR and channel impulse coefficients are not usually available, making the use of SNR and channel impulse coefficients unrealistic.